pp108 : Guidelines to Develop Process Monitoring Object

Guidelines to Develop Process Monitoring Object

This topic describes the guidelines to develop Process Monitoring Object.


Process Monitoring Object is a set of associated attributes from business process and related contextual Web services, which need to be monitored as a logical group. Each Process Monitoring Object is persisted and can be used for the purpose of analysis by creating business measures (query based Web services) on it.

Attributes in a Process Monitoring Object must be selected only when it makes sense to query on these attributes as logical set. Some guidelines to develop a Process Monitoring Object are as follows:

  1. Different Process Monitoring Objects for different flow paths in a process:
    You have to define different Process Monitoring Objects for different flow paths in a process. There may be parallel or alternative flow paths in a business process and if one path is taken then other paths will not be taken. This means a Process Monitoring Object must not contain attributes from multiple alternative flow paths as all of them are never filled and are not queried. In general, define different Process Monitoring Objects for different flow paths.

  2. Only use attributes that you can associate to business process instance context
    Business process modeling is a very generic environment and any Web service can be invoked as some intermediary step to retrieve information and then process to use in Business process. Attributes from a business process activity or a Web service output must be selected only when these attributes are retrieved in context of business process instance.

    Example: When organization receives an order for a product, it would like to check if product is internally deprecated, so that it can monitor orders for deprecated products. There may be a generic Web service used in business process called 'getAllDeprecatedProducts()' and then there might be a logic in business process to check products ids which have come as part of Order. In this case, attributes from output of 'getAllDeprecatedProducts()' Web service must not be used as when queried along with other business process instance attributes like OrderID then wrong result will be rendered.

    This same logic of association with business process instance context is applicable when invoking external Web services to define attributes for Process Monitoring Object. In general, when we pass attributes from business process instance context as input parameters of Web service then they can be termed as invoked in context of business process instance.

  3. Don't select activities inside loop
    Business process message map is a global data structure and same XML structure is encountered then it is updated in message map structure and not appended. This means monitoring on activities inside loop activities do not yield correct result.

    Note: In future releases, we can explore ways to properly monitor activities inside loop structure, but currently Process Monitoring Object only acts on message map as described above. Therefore it is not advised to use such activities.
  4. Only invoke read Web services from enterprise applications
    Process Monitoring Object is not meant to manipulate in Enterprise applications by invoking update Web services. Though technically feasible, it is not advised to use it for that purpose and invoke Web services to retrieve information from enterprise applications and not to update information.

  5. Use multi valued attributes from two activities only when they return information in same order
    Multi valued attributes are XML elements of which multiple tuple(rows) are returned in Web service response. These attributes can be used in Process Monitoring Object, if they are returned based on business process instance context. Selecting such multiple attributes from a single activity does not pose problem, but when more than one activity in a Process Monitoring Object returns multiple valued attributed then there can be improper results while querying when both activities does not return same number of rows and in same order.

  6. Don't use multi valued attributes Web services from Enterprise Applications
    This is a limitation that only those enterprise application Web services should be used which return single valued attributes.

  7. Only child elements from Business process message map are supported to select as attribute of a Process Monitoring ObjectThis is a limitation that only child elements from Business process message map are supported to select as attribute of a Process Monitoring Object.
    Note: Throughout the Process Platform Product Documentation, the Process Monitoring Object attributes refer for either child elements from business process message map or Web services child elements.
  8. Sub-processes are treated as activities and have to be monitored as separate Monitored Object. Each sub-process is treated as activity. Therefore it needs to be monitored separately.
  9. Build Activity level Process Monitoring Object when monitoring has to done on Activity Start and End Events Process Monitoring Object can be built on process events context or an activity events context. When there is a need to build a monitoring query like: 'Select count of all logistics process instances in which shipment activity started last week and where customer_type= 'Gold' '. In this case, monitoring is done in context of 'Shipment' activity Start event, so Process Monitoring Object must be of type 'Activity Level' and built on Shipment activity. In Activity level Process Monitoring Object also attributes from message map preceding that particular activity can be selected. 'Select count of all logistics process instances in which shipment activity ended last week and where customer_type='Gold''
    Note: While Process Monitoring Object Editor does not restrain usage, but above guidelines must be followed for building queries on Process Monitoring Object which can return correct results.